package top.csjss.hospital.service;

import com.github.pagehelper.PageInfo;
import top.csjss.hospital.dto.CashierDTO;
import top.csjss.hospital.entity.Cashier;
import top.csjss.hospital.vo.CashierVO;
import top.csjss.hospital.vo.R;

import java.util.List;

/**
 * @Author ztf
 * @Date 16:45 2021/10/21
 **/
public interface CashierService {
    /**
     * 查询未缴费药品
     *
     * @param reportId
     * @return
     */
    Integer selectUnpaidDrugs(Integer reportId);

    /**
     * 查询患者的药品出纳信息
     *
     * @param perid
     * @param page
     * @param limit
     * @return
     */
    List<CashierVO> selectDrugCashierInformation(Integer perid, Integer page, Integer limit);

    /**
     * 查询患者的项目缴费情况
     *
     * @param reportId
     * @return
     */
    Integer selectUnpaidProject(Integer reportId);

    /**
     * 查询患者是否有已缴费，但是未做的项目
     * @param reportId
     * @return
     */
    Integer selectOutstandingProjects(Integer reportId);

    /**
     * 查询患者是否开过当前处方药
     * @param reid
     * @param mename
     * @return
     */
    Integer selectPrescriptionDrugsByCurrentPatient(Integer reid, String mename);

    /**
     * 添加\修改处方信息
     * @param registerId
     * @param name
     * @param num
     */
    void addPrescription(Integer registerId, String name, Integer num);

    /**
     * 添加、修改项目出纳信息
     * @param cashierDTO
     */
    void addPrescription(CashierDTO cashierDTO);
    /**
     * 删除处方信息
     * @param id
     * @return
     */
    R deletePrescription(Integer id);

    /**
     * 修改项目
     * @param reportId
     * @param durgname
     * @param durgnum
     */
    void updateChuProject(Integer reportId, String durgname, Integer durgnum);

    /**
     * 查询患者项目出纳
     * @param perid
     * @param page
     * @param limit
     * @return
     */
    PageInfo<Cashier> findProjectByReportId(Integer perid, Integer page, Integer limit);

    /**
     * 刪除未繳費項目
     * @param cashier
     */
    void remove(Integer id);
}
